package cn.sumpu.app.guoguojie.biz;

import java.util.*;
import cn.sumpu.app.guoguojie.domain.*;
import cn.sumpu.app.guoguojie.exception.*;

public interface DoingTagBiz {

	// 添加标签信息
	void addDoingTag(DoingTag doingTag) throws AppBusinessException;

	// 删除标签信息
	void deleteDoingTagById(String tagId) throws AppBusinessException;

	// 删除标签(包括子类)
	void deleteDoingTagAll(String tagId) throws AppBusinessException;

	// 取得自己的ID包括子类的ID
	String getChildrenCategoryId(String parentId) throws AppBusinessException;

	// 更新标签信息
	void updateDoingTagById(DoingTag doingTag) throws AppBusinessException;

	// 取得标签列表
	List<DoingTag> getDoingTagList(String parentId, String name, Integer deep,
			Boolean enabled, String identifier, Integer isDisplay)
			throws AppBusinessException;

	// 取得所有标签
	List<DoingTag> getDoingTagAll(String parentId) throws AppBusinessException;

	// 给微博的产品打上标签
	String pasteTagDoing(DoingProduct product, String doingId)
			throws AppBusinessException;

	// 取得所有标签名称
	List<DoingTag> getDoingTagName() throws AppBusinessException;

	// 根据ID取得标签及所有上级标签
	DoingTag getDoingTagSelfAndParent(String identifier)
			throws AppBusinessException;

	// 订正标签
	void updateDoingSystemTagAll() throws AppBusinessException;

	/**
	 * author BruceZhang
	 * @param map	标签ID/时间
	 * @return	根据标签取得当天分享的微博
	 * @throws AppBusinessException
	 */
	long getTodayDoingByTagId(Date startTime, Date endTime)throws AppBusinessException;
	
	/**
	 * author BruceZhang
	 * @param map	标签ID/时间
	 * @return	根据标签取得当天分享的微博总记录数
	 * @throws AppBusinessException
	 */
	int getTodayDoingCountByTagId(String tagId, Date startTime, Date endTime)throws AppBusinessException;

	//订正标签ID
	List<DoingTag> getDts(int start)throws AppBusinessException;
	int getDtCount()throws AppBusinessException;
	void updateDtId(String newId, String oldId)throws AppBusinessException;
	void updateDtPid(String newId, String oldId)throws AppBusinessException;
	void dingZheng();
	
	/**
	 * author BruceZhang
	 * @param date	日期
	 * @return	返回果果街提供给一淘的数据
	 * @throws AppBusinessException
	 */
	String getEtaoData(String date)throws AppBusinessException;
	
	//查询所有商品
	long getProductAll(String startTime, String endTime, String channel, String pictorial) throws Exception;
}
